-module(util).
-export([find_min_max/1]).

%% @spec find_min_max([float()]) -> {Min::float(), Max::float()}
%% @doc Encuentra el minimo y el maximo de una lista
find_min_max([]) ->
    error;
find_min_max([N | T]) ->
    find_min_max({N, N}, T).

find_min_max(MM = {_, _}, []) ->
    MM;
find_min_max({Min, Max}, [N | T]) ->
    case N < Min of
        true ->
            find_min_max({N, Max}, T);
        _ ->
            case N > Max of
                true ->
                    find_min_max({Min, N}, T);
                _ ->
                    find_min_max({Min, Max}, T)
            end
    end.
